package com.mjf.spark.day03

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * 转换算子-sortBy
 *    对RDD中的元素进行排序
 */
object Spark11_Transformation_sortBy {
  def main(args: Array[String]): Unit = {

    // 创建SparkConf配置文件
    val conf = new SparkConf().setMaster("local[*]").setAppName("Spark11_Transformation_sortBy")
    // 创建SparkContext对象
    val sc = new SparkContext(conf)

/*    val rdd: RDD[Int] = sc.makeRDD(List(1,4,3,2))

    // 升序排序
//    val resRDD: RDD[Int] = rdd.sortBy(num => num)
    // 降序排序
    val resRDD: RDD[Int] = rdd.sortBy(num => num, false)*/



    val strRDD: RDD[String] = sc.makeRDD(List("1", "4", "3", "22"))

    // 对字符串进行排序，默认为字典顺序
//    val resRDD: RDD[String] = strRDD.sortBy(str => str)
    // 按照字符串转换为整数后的大小进行排序
    val resRDD: RDD[String] = strRDD.sortBy(_.toInt)

    resRDD.collect().foreach(println)

//    Thread.sleep(100000)

    // 关闭连接
    sc. stop()

  }
}
